package com.keba.lamp.complaint.vo.result;

import cn.hutool.core.map.MapUtil;
import com.baomidou.mybatisplus.annotation.TableField;
import com.keba.basic.annotation.echo.Echo;
import com.keba.basic.base.entity.Entity;
import com.keba.basic.interfaces.echo.EchoVO;
import com.keba.lamp.model.constant.EchoApi;
import com.keba.lamp.model.constant.EchoDictType;
import io.swagger.v3.oas.annotations.media.Schema;

import java.time.LocalDateTime;
import java.util.Map;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.io.Serializable;

import static com.keba.lamp.model.constant.Condition.LIKE;

/**
 * <p>
 * 表单查询方法返回值VO
 * 在线立案
 * </p>
 *
 * @author twg
 * @date 2025-07-27 20:56:45
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString(callSuper = true)
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@Builder
@Schema(description = "在线立案")
public class OnlineCaseFilingResultVO extends Entity<Long> implements Serializable, EchoVO {

    private static final long serialVersionUID = 1L;

    private Map<String, Object> echoMap = MapUtil.newHashMap();

    @Schema(description = "主键")
    private Long id;


    /**
     * 唯一标识字符串
     */
    @Schema(description = "唯一标识字符串")
    private String code;
    /**
     * 关联案件
     */
    @Schema(description = "关联案件")
    private Long caseId;

    /**
     * 案件名称
     */
    @Schema(description = "案件名称")
    private String caseName;
    /**
     * 法院名称
     */
    @Schema(description = "法院名称")
    private String courtName;

    /**
     * 案件类别;[01-贷款 99-其它]@Echo(api = EchoApi.DICTIONARY_ITEM_FEIGN_CLASS, dictType = EchoDictType.System.CASE_TYPE)
     */
    @Schema(description = "案件类别")
    @Echo(api = EchoApi.DICTIONARY_ITEM_FEIGN_CLASS, dictType = EchoDictType.System.CASE_TYPE)
    private String caseType;

    /**
     * 业务类型[01-起诉状，02-答辩状 ]@Echo(api = EchoApi.DICTIONARY_ITEM_FEIGN_CLASS, dictType = EchoDictType.System.BIZ_TYPE)
     */
    @Schema(description = "业务类型[01-起诉状，02-答辩状 ]@Echo(api = EchoApi.DICTIONARY_ITEM_FEIGN_CLASS, dictType = EchoDictType.System.BIZ_TYPE)")
    @Echo(api = EchoApi.DICTIONARY_ITEM_FEIGN_CLASS, dictType = EchoDictType.System.BIZ_TYPE)
    private String bizType;

    /**
     * 参与人
     */
    @Schema(description = "参与人")
    private String participants;

    /**
     * 状态（0 待提交，1待审核  4 待补充材料  -1审核不通过  8 审核通过）
     */
    @Schema(description = "状态（0 待提交，1待审核  4 待补充材料  -1审核不通过  8 审核通过）")
    private Integer status;
    /**
     * 审核意见
     */
    @Schema(description = "审核意见")
    private String auditRemark;
    /**
     * 在线立案账号
     */
    @Schema(description = "在线立案账号")
    private String filingAccount;
    /**
     * 在线立案密码
     */
    @Schema(description = "在线立案密码")
    private String filingPassword;

    @Echo(api = EchoApi.BASE_EMPLOYEE_SERVICE_IMPL_CLASS)
    private Long createdBy;


}
